---
title: 从 WordPress 迁移
description: 将现有的 WordPress 项目迁移至 Astro 的提示
type: migration
stub: true
framework: WordPress
i18nReady: true
---
import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro'

[WordPress](https://wordpress.org) 是一个建立在 PHP 和 MySQL 上的开源个人发布系统。

:::tip
你可以[将 WordPress 作为 Astro 项目的无头 CMS 使用](/zh-cn/guides/cms/wordpress/)。按照我们的指南，在新的 Astro 项目中使用你现有的 WordPress 内容。
:::

## WordPress 和 Astro 之间的主要相似之处

WordPress 和 Astro 在以下方面有一些相似之处，这将有助于你迁移项目：

- 无论是 WordPress 还是 Astro，都非常适合用于制作[内容驱动的网站](/zh-cn/concepts/why-astro/#内容驱动)，比如博客，并支持使用 Markdown 编写内容（在 WordPress 中需要使用插件）。虽然在 Astro 中添加新内容的过程不同，但如果你已经在 WordPress 编辑器中使用过 Markdown 语法，那么在 Astro 博客中 [编写 Markdown 文件](/zh-cn/guides/markdown-content/)应该会感觉很熟悉。 

- WordPress 和 Astro 都鼓励 [将网站的设计划分为“模块”](/zh-cn/concepts/islands/) （组件）。在 Astro 中，你可能会更多的 [编写自己的代码来创建这些模块](/zh-cn/basics/astro-components/)，而不是依赖于预先构建的插件。对于网站的各个组成部分以及它们在页面上的呈现方式的思考应该是相似的。

## WordPress 和 Astro 之间的主要区别

当你将 WordPress 网站重新构建为 Astro 时，你会注意到一些重要的区别：

- WordPress 网站使用在线仪表盘进行编辑。而在 Astro 中，你将使用 [代码编辑器](/zh-cn/editor-setup/) 和开发环境来维护你的网站。你可以在本地机器上进行开发，也可以选择云编辑器（或开发环境），比如 StackBlitz、CodeSandbox 或 Gitpod。
- WordPress 拥有大量的插件和主题市场。在 Astro 中，你将找到一些可用的主题和 [集成](https://astro.build/integrations/)，但现在你可能需要自己构建许多现有功能，而不是寻找第三方解决方案。或者，你可以选择从具有内置功能的 [Astro 主题](https://astro.build/themes) 开始！
- WordPress 将你的内容存储在数据库中。而在 Astro 中，你将为每个页面的内容在 [项目目录](/zh-cn/basics/project-structure/) 中拥有单独的文件（通常为 Markdown 或 MDX 格式）。或者，你可以选择使用 [内容管理系统(CMS)](/zh-cn/guides/cms/) 来管理你的内容，甚至使用你现有的 WordPress 网站，并使用 Astro 获取和展示数据。

## 从 WordPress 切换到 Astro

要将 WordPress 博客转换为 Astro，请从我们的博客主题起始模板开始，或在我们的 [主题展示](https://astro.build/themes) 中探索更多社区博客主题。

你可以在  `create astro` 命令中传递 `--template` 参数，使用我们官方的任意启动器开始一个新的 Astro 项目。

或者，你可以从 [GitHub 上任何现有的 Astro 存储库开始一个新项目](/zh-cn/install/auto/#入门模板)

   <PackageManagerTabs>
    <Fragment slot="npm">
    ```shell
    npm create astro@latest -- --template blog
    ```
    </Fragment>
    <Fragment slot="pnpm">
    ```shell
    pnpm create astro@latest --template blog
    ```
    </Fragment>
    <Fragment slot="yarn">
    ```shell
    yarn create astro --template blog
    ```
    </Fragment>
  </PackageManagerTabs>

你可以继续 [将现有的 WordPress 博客用作 Astro 的 CMS](/zh-cn/guides/cms/wordpress/)，这意味着你将继续使用 WordPress 仪表板来撰写文章。你的内容将在 WordPress 中进行管理，但 Astro 网站的所有其他方面将在你的代码编辑环境中构建，并且你将单独地 [部署你的 Astro 网站](/zh-cn/guides/deploy/)，与你的 WordPress 网站分开。（请确保在你的托管服务器上更新你的域名，以保持相同的网站URL！）

如果你对在代码编辑器中工作和使用 GitHub 来存储和部署你的网站还不熟悉，你可能希望参考 [Astro 的建立博客教程](/zh-cn/tutorial/0-introduction/)。该教程将指导你完成所需的所有账号和设置！你还将学习如何 [自己构建 Astro 组件](/zh-cn/tutorial/3-components/)，以及如果你选择不使用 WordPress 来撰写内容，教程将向你展示如何[在 Astro 中直接添加博文](/zh-cn/tutorial/2-pages/2/)。

如果你希望将所有现有的文章内容转移到 Astro，你可能会发现这个[从 WordPress 导出 Markdown 的工具很有帮助](https://github.com/lonekorean/wordpress-export-to-markdown)。如果你需要[将大型或复杂的 WordPress 网站转换为 Markdown](https://swizec.com/blog/how-to-export-a-large-wordpress-site-to-markdown/)，则可能需要对结果进行一些调整。

要将其他类型的网站转换，比如作品集或文档网站，可以在 [astro.new](https://astro.new/) 上找到更多官方起始模板。你将找到每个项目的 GitHub 存储库链接，以及可在 StackBlitz、CodeSandbox 和 Gitpod 在线开发环境中一键打开工作项目。

## 社区资源

- 博客文章：[为什么我从 WordPress 切换到 Astro](https://dev.to/fratzinger/why-i-switched-from-wordpress-to-astro-5ge) by fratzinger
- 欢迎添加你自己的资源！
